$(function () {
  $("#loginBox a").on("click", function () {
    $("#registerBox").show();
    $("#loginBox").hide();
  });
  $("#registerBox a").on("click", function () {
    $("#loginBox").show();
    $("#registerBox").hide();
  });

  // 需求2
  // 登录界面密码正则(自定义校验规则)
  let form = layui.form;
  // verify()的值是一个对象
  form.verify({
    // 属性是规则名称，值可以是数组或者函数
    // 第一个值时校验规则
    pwd: [
      /^[\S]{6,15}$/,
      // 报错信息
      "密码的长度为6-15个字符，且不能包含空格!",
    ],
    repwd: function (value) {
      let pwd = $("#registerBox [name=password]").val();
      if (value !== pwd) {
        return "输入的两次密码不一致";
      }
    },
  });

  // 需求3
  // 注册(axios)
  let layer = layui.layer;
  $("#form-reg").on("submit", function (e) {
    e.preventDefault();
    // 发送 axios
    axios({
      method: "POST",
      url: "/api/reguser",
      data: $("#form-reg").serialize(),
    }).then(function (res) {
      console.log(res);
      // 判断状态码
      if (res.data.status !== 0) {
        return layer.msg(res.data.message);
      }
      // 注册成功
      layer.msg("恭喜您，注册用户成功");
      $("#form-reg")[0].reset();
      $("#registerBox a").click();
    });
  });

  // 需求4
  // 登录
  $("#form-login").on("submit", function (e) {
    e.preventDefault();
    axios({
      method: "POST",
      url: "/api/login",
      data: $("#form-login").serialize(),
    }).then(function (res) {
      // console.log(res);
      let obj = res.data;
      if (obj.status !== 0) {
        return layer.msg(obj.message);
      }
      // 成功，提示，跳转，并保存token，保存到本地存储
      layer.msg("恭喜您，登陆成功");
      location.href = "/index.html";
      localStorage.setItem("token", obj.token);
    });
  });
});
